In optimization theory, the max-flow min-cut theorem states that in a flow network, the maximum amount of flow passing from the source to the sink is equal to the minimum capacity which when removed in a specific way from the network causes the situation that no flow can pass from the source to the sink.
The max-flow min-cut theorem is a special case of the duality theorem and can be used to derive Menger's theorem and the König-Egerváry Theorem.
Contents |
Let be a network (directed graph) with and being the source and the sink of respectively.
The maximum flow problem is to maximize | f |, that is, to route as much flow as possible from s to t.
The minimum cut problem is to minimize , that is, to determine S and T such that the capacity of the S-T cut is minimal.
The max-flow min-cut theorem states
The max-flow problem and min-cut problem can be formulated as two primal-dual linear programs.
Max-flow (Primal) |
Min-cut (Dual) |
---|---|
maximize |
minimize |
subject to |
subject to |
The equality in the max-flow min-cut theorem follows from the strong duality theorem, which states that if the primal program has an optimal solution, x*, then the dual program also has an optimal solution, y*, such that the optimal values formed by the two solutions are equal.
The figure on the right is a network having a value of flow of 7. The vertex in white and the vertices in grey form the subsets S and T of an s-t cut, whose cut-set contains the dashed edges. Since the capacity of the s-t cut is 7, which is equal to the value of flow, the max-flow min-cut theorem tells us that the value of flow and the capacity of the s-t cut are both optimal in this network.
In addition to edge capacity, consider there is capacity at each vertex, that is, a mapping c: V→R+, denoted by c(v), such that the flow f has to satisfy not only the capacity constraint and the conservation of flows, but also the vertex capacity constraint
In other words, the amount of flow passing through a vertex cannot exceed its capacity. Define an s-t cut to be the set of vertices and edges such that for any path from s to t, the path contains a member of the cut. In this case, the capacity of the cut is the sum the capacity of each edge and vertex in it.
In this new definition, the generalized max-flow min-cut theorem states that the maximum value of an s-t flow is equal to the minimum capacity of an s-t cut in the new sense.
In the undirected edge-disjoint paths problem, we are given an undirected graph G = (V, E) and two vertices s and t, and we have to find the maximum number of edge-disjoint s-t paths in G.
The Menger's theorem states that the maximum number of edge-disjoint s-t paths in an undirected graph is equal to the minimum number of edges in an s-t cut-set.
In the project selection problem, there are projects and equipments. Each project yields revenue and each equipment costs to purchase. Each project requires a number of equipments and each equipment can be shared by several projects. The problem is to determine which projects and equipments should be selected and purchased respectively, so that the profit is maximized.
Let be the set of projects not selected and be the set of equipments purchased, then the problem can be formulated as,
Since and are positive, this maximization problem can be formulated as a minimization problem instead, that is,
The above minimization problem can then be formulated as a minimum-cut problem by constructing a network, where the source is connected to the projects with capacity , and the sink is connected by the equipments with capacity . An edge (, ) with infinite capacity is added if project requires equipment . The s-t cut-set represents the projects and equipments in and respectively. By the max-flow min-cut theorem, one can solve the problem as a maximum flow problem.
The figure on the right gives a network formulation of the following project selection problem:
Project |
Equipment |
||
---|---|---|---|
1 | 100 | 200 |
Project 1 requires equipments 1 and 2. |
2 | 200 | 100 |
Project 2 requires equipment 2. |
3 | 150 | 50 |
Project 3 requires equipment 3. |
The minimum capacity of a s-t cut is 250 and the sum of the revenue of each project is 450; therefore the maximum profit g is 450 − 250 = 200, by selecting projects and .
The max-flow min-cut theorem was proved by P. Elias, A. Feinstein, and C.E. Shannon in 1956, and independently also by L.R. Ford, Jr. and D.R. Fulkerson in the same year.